Bienvenidas a Pyladies!!

En la reunión de hoy aprenderemos acerca de python y sus cimientos. Veremos qué es Python, Ipython y Jupyter; comenzaremos con conceptos básicos de objetos, variables, operaciones y haremos nuestro primer programa de bienvenida (¡ritual obligatorio para todo programador!)

¿Qué es Python? y algunos datos curiosos

Python es un lenguaje de programación ampliamente usado debido a que es fácilmente aprendible, la sintaxis y la lectura de código es sencilla y tiene una variedad de librerías especializadas en diferentes disciplinas.

Python fue inventado en 1991 por Guido Van Rossum y lo llamó Python no por la serpiente sino por una comedia inglesa de los '70s llamada "Monty Python's flying circus".

Python es uno de los lenguajes importantes para la comunidad a favor del "open software" o software libre.

Python está detrás de youtube, instragram, spotify, pinterest y reddit entre otros...

Conozcamos python!! Da clicl en donde hay un ícono de una carpeta y dice Files, Aparecerán tres items y da click donde en el que está nombrado con números y termina en ".term". Una vez abierto cuando veas $~ escribe python y presiona enter. ¿Qué es lo que pasa?

Ipython: la hermana amable de Python

Veamos que tiene que decir Wikipedia acerca de Ipython: ..."IPython es un shell interactivo que añade funcionalidades extra al modo interactivo incluido con Python, como resaltado de líneas y errores mediante colores, una sintaxis adicional para el shell, autocompletado mediante tabulador de variables, módulos y atributos; entre otras funcionalidades"...

Como bien dice la wikipedia, ipython es una variante de python que es mucho más amable con el usuario. Te dice más acerca de los errores que puedas cometer y te ayuda a completar nombres cuando se te olvidan. El código que se corre en esta libreta de Jupyter es con Ipython


In [ ]:
?

In [ ]:
%quickref

El planeta Jupyter de Python

Esto que ves aquí es una libreta de Jupyter ejecutando Ipython. Aquí puedes escribir texto (al estilo Markdown) y correr líneas de código que escribas, también hay funciones mágicas que te ayudan a hacer cosas como mostrar las gráficas que creas directamente en la libreta (generalmente Ipython genera una ventana nueva con la imagen lo cual es bastante molesto cuando estás con la libreta...)

Si te gusta leer en inglés y quieres más información puedes consultar el siguiente enlace


In [ ]:
#Veamos las funciones mágicas de la libreta
%magic

Finalmente a Trabajar

Números en Python

Hay dos tipos de número en Python los cuales se llaman "integers" y "floats". Estos números pueden ser utilizados para realizar operaciones matemáticas como lo harías con cualquier calculadora.


In [ ]:
type(5)

In [ ]:
type(5.0)

In [ ]:
5+5

In [ ]:
5-5.0 
#¿Notas algo raro en este resultado?

In [ ]:
5.0 * 5

In [ ]:
#¿Qué crees que va a dar de resultado esta operación?
5/5

In [ ]:
#¿Cómo se puede hacer para que la división nos dé integer en lugar de float?
#Prueba esto
5//5

Pregunta 1

¿Qué crees que pasaría si le pedimos a python lo siguiente?

5.0//5.0


In [ ]:

Pregunta 2

¿Crees que obtendrías el mismo resultado si sólo uno de los dividendos fuera un float?


In [ ]:

Ahora imagina que queremos saber cuál es el residuo de una división. Python tiene un operador que se ve así "%" Veamos cómo funciona...


In [ ]:
#¿Cuánto nos queda de residuo si dividimos 25%5?
25%5

In [ ]:
#¿Cuánto nos queda de residuo si dividimos 25%7?
25%7

Pregunta 3

¿Qué pasaría si alguno de los dividendos fuera float?


In [ ]:

Pregunta 4

¿Cómo podríamos obtener la potencia de un número y su raíz cuadrada?


In [ ]:
#Pista: doble estrella

In [ ]:
#Pista: módulo math

Al igual que en matemáticas, si necesitamos que las operaciones se hagan en un orden definido debemos poner la expresión que queremos que se realice primero entre paréntesis.

Por ejemplo si queremos que una suma se realice antes que una multiplicación y el resultado de esta se reste a otro número usaríamos una expresión parecida a esta:

((a + b) * c) - d

prueba con algunos número a ver que obtienes y luego prueba sin paréntesis a ver si obtienes el mismo resultado...


In [ ]:


In [ ]:


In [ ]:

Valores Booleanos y comparaciones

En python no sólo podemos manejar números, también podemos manejar valores booleanos de tipo Falso-Verdadero y hacer operaciones con ellos


In [ ]:
True

In [ ]:
False

In [ ]:
type(True)

In [ ]:
True and False

In [ ]:
True or True

In [ ]:
True > False

In [ ]:
#Un momento, si True es mayor que False ¿cómo es que python representa internamente a estos valores booleanos?
True == 1

In [ ]:
False == 0

In [ ]:
#¿Entonces se pueden sumar los valores booleanos? ¡Probemos!
True + True + False

In [ ]:
False - True

In [ ]:
True + True != 1

Como podrás darte cuenta, las operaciones y comparaciones que puedes hacer en estos valores son bastantes y puedes ir aumentando la complejidad usando paréntesis y combinando con lo que aprendiste a hacer de operaciones con python

Nota "==" vs "is"

Cuando quieres saber si un objeto es exactamente ese objeto hay un operador que se llama "is". Nada más que es importante no confundirlo con el operador "==" ya que este a diferencia del "is" te dice si el valor de un objeto equivale a otro. Suena confuso pero tal vez este ejemplo lo clarifique


In [ ]:
#Ya vimos que El valor de True "equivale" a 1
True == 1

In [ ]:
#Ahora nos preguntamos si True "es" 1
True is 1

In [ ]:
#y que tal si ahora preguntamos si True "es" True
True is True

Strings y todo lo que puedes hacer con palabras

Los strings son cadenas de caracteres, palabras o frases que en python se declaran al ponerlos dentro de comillas, ya sea simples o dobles


In [ ]:
"Esto es un string"

In [ ]:
'Esto también'

In [ ]:
#Esto también es un string
'2'

In [ ]:
#y en python 3 se pueden concatenar estas series de caracteres sólo poniéndolos continuamente. Hay que notar que un 
#espacio también es un caracter...

"Los números"' '"y"' ' 'símbolos'" "'también '"se usan"' ''3456%$#%'

Puedes crear espacios que luego vas a llenar en estos strings con un método que se llama format


In [ ]:
'{} of the {}'.format('75%', 'World')

In [ ]:
# También puedes usar palabras clave si necesitas poner una misma palabra muchas veces

'{sujeto} camina, {sujeto} juega, {sujeto} duerme con todos {predicado}'.format(sujeto = 'El perro', predicado = 'nosotros')

El primer programa para todo aquél que intenta aprender a programar

Por tradición el primer programa que se escribe cuando aprendes un lenguaje de programación es uno que imprima en la pantalla el famoso "Hello World!"

Para esto utilizaremos la función print de python.


In [ ]:
print('Esta función imprime')

Pregunta 5

¿Cómo escribirías tu programa para saludar al mundo?


In [ ]:

¡¡Felicidades acabas de escribir y ejecutar tu primer programa!!

Variables: los cajores de python

Hasta ahora hemos visto que podemos hacer operaciones sobre diferentes objetos de python, pero que pasa cuando queremos que una operación o un valor se quede disponible para que los usemos durante todo programa. En python hay algo que se llama variable y está formada por un espacio en el sistema de almacenaje que está asociado a un nombre. Ese espacio contiene una cantidad o información conocida o desconocida, es decir un valor.

Veamos algunos ejemplos.


In [ ]:
variable_1 = 5 + 5

In [ ]:
variable_2 = True

In [ ]:
variable_1 + variable_2

In [ ]:
cajón = 'Hola a todos'

In [ ]:
cajón

In [ ]:
print(cajón)

In [ ]:
cajón == variable_1

In [ ]:

Hasta aquí termina la reunión del día de hoy sigan practicando en casa y si tienen dudas pueden escribir al grupo y ente todas resolverlas!

Espero que hayan aprendido algo el día de hoy!


In [ ]: